This disclosure relates generally to the field of image processing. More particularly, but not by way of limitation, it relates to a technique for selecting an orientation from which to perform face detection.
In recent years the proliferation of digital cameras has been rapid, both as stand-alone devices and as part of other consumer products such as, for example, mobile phones and personal digital assistants (PDAs). Many digital cameras are fully or semi-automatic in the sense that the camera's focus and/or exposure are set automatically (i.e., without direct user input). For those images that include people, if a face can be detected in the image field, the camera's focus and/or exposure may be automatically set to optimize the capture of same.
Referring now to FIG. 1, prior art auto-operation 100 is shown. Here, image information is received from, for example, a CMOS or CCD sensor array (block 105) after which a first orientation is selected (block 110). As used herein, an image's orientation may be determined in relation to the plane of the camera's sensor array with respect to the gravity vector. Referring to FIG. 2A, “UP” may be defined as that orientation in which sensor array 200's side A-A′ is above side B-B′ in relation to gravity vector 205. Similarly, “LEFT” may be defined as shown in FIG. 2B, “RIGHT” as shown in FIG. 2C and “DOWN” as shown in FIG. 2D.
Returning now to FIG. 1, once a first orientation is selected (block 110), a face detection algorithm may be performed to determine if a face can be found for that orientation (block 115). If no face is detected (the “NO” prong of block 120), a further check is made to determine if all desired or specified orientations have been analyzed (e.g., UP, LEFT, RIGHT and DOWN). If at least one of these orientations has not been analyzed (the “NO” prong of block 125), another orientation is selected (block 130) where after processing continues at block 115.
If a face is detected at the selected orientation (the “YES” prong of block 120), that information may be used to automatically adjust the camera's focus and/or exposure (block 135). For example, a typical implementation in point-and-shoot cameras is to show the detected faces in the camera's view screen and, when the shutter is pressed, the camera performs an autofocus operation using the face area as the target. Once all orientations have been checked and no face has been found (the “YES” prong of block 125), the image's focus and exposure may be adjusted using other information (block 140). For example, a set of fixed focus points may be used (it will be recognized that different cameras may have different selected points on/at which to focus).
The processing power and time required to analyze a number of different orientations can be significant. In general, the processing power of digital camera devices is limited. Further, the time required to perform the processing outlined in FIG. 1 can negatively affect the quality of a user's experience of the camera. Accordingly, there is a need for a means to quicken the detection of faces in an image field.